// 上面这个代码处理过度动画（默认加上不用管）
document.addEventListener('DOMContentLoaded', () => {
  setTimeout(() => {
    document.body.classList.add('sidenav-pinned')
    document.body.classList.add('ready')
  }, 200)
})
// 轻提示
const toastBox = document.querySelector('#myToast')
const toast = new bootstrap.Toast(toastBox, {
  animation: true, //开启过度动画
  aytohide: true, //开启自动隐藏
  delat: 3000 //自动隐藏的延迟时间设置
})
const tip = (msg) => {
  document.querySelector('.toast-body').innerHTML = msg
  toast.show()
}
// 请求根路径
axios.defaults.baseURL = 'http://ajax-api.itheima.net'
// 将admin改为自己注册使用的用户名
const userName = document.querySelector('.navbar .font-weight-bold')
const logout = document.querySelector('#logout')
if (userName) {
  userName.innerHTML = localStorage.getItem('swh-103')
}
// 给退出按钮注册点击事件，点击之后移除token,并跳转到登录页面
if (logout) {
  logout.addEventListener('click', function () {
    let result = confirm('确认要退出吗')
    if (result) {
      localStorage.removeItem('swhtoken-103')
      localStorage.removeItem('swh-103')
      location.href = './login.html'
    } else {
      return
      // localStorage.removeItem('swhtoken-103')
      // localStorage.removeItem('swh-103')
      // location.href = './login.html'
    }
  })
}
// 添加请求拦截器
axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    const token = localStorage.getItem('swhtoken-103')
    if (token) {
      // 利用请求拦截器给请求头统一设置token
      config.headers.Authorization = token
    }
    // console.log('在发送请求之前做些什么', config)
    return config
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error)
  }
)

// 添加响应拦截器
axios.interceptors.response.use(
  function (response) {
    // 对响应数据做点什么
    return response.data
  },
  function (error) {
    // 对响应错误做点什么
    // 401状态码一般是授权失败
    // 如果报出401的状态码，清楚本地的token和用户名并回到登录页
    if (error.response.status === 401) {
      localStorage.removeItem('swhtoken-103')
      localStorage.removeItem('swh-103')
      location.href = './login.html'
    }
    return Promise.reject(error)
  }
)
